package kr.pe.asuraho.zhibogo;

import static kr.pe.asuraho.StaticMethods.nvl;
import java.util.Map;
import javax.servlet.http.HttpSession;
import kr.pe.asuraho.BaseService;

public class Login extends BaseService {

	public String loginForm() {
		return "/WEB-INF/jsp/login.jsp";
	}

	public String login() {
		HttpSession session = getRequest().getSession();
		session.removeAttribute("ZHIBOGO_SESSION");

		String id = nvl(getParamMap().get("login_id"));
		String password = nvl(getParamMap().get("login_password"));

		Map<String, Object> userInfo = getSqlSession().selectOne("kr.pe.asuraho.selectTorUserInfo", getParamMap());
		if ("".equals(id) || "".equals(password) || 				// 아이디 패스워드 미입력
				userInfo == null || 								// 없는 사용자 id
				!password.equals(nvl(userInfo.get("password")))) { 	// 패스워드 잘못 입력
			
			add("resultMessage", "아이디 또는 비밀번호를 다시 확인하세요.");
			return "/WEB-INF/jsp/login.jsp";

		} else {
			userInfo.remove("password");
			session.setAttribute("ZHIBOGO_SESSION", userInfo);
			return "zHibogo.do?method=list";
		}
	}

	public String logout() {
		HttpSession session = getRequest().getSession();
		session.removeAttribute("ZHIBOGO_SESSION");
		return "/WEB-INF/jsp/login.jsp";
	}
	
	public String errorDialog(){
		add("isDialog", "Y");
		add("errorMessage", getParamMap().get("errorMessage"));
		add("errorInfo", getParamMap().get("errorInfo"));
		return "/WEB-INF/jsp/error.jsp";
	}
}